package com.hunter.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ExpectationExample {
    protected String join;

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ExpectationExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setJoin(String join) {
        this.join = join;
    }

    public String getJoin() {
        return join;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andJoinWhere(String whereSql) {
            addCriterion(whereSql);
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("cv_expectation.id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("cv_expectation.id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("cv_expectation.id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("cv_expectation.id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("cv_expectation.id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("cv_expectation.id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("cv_expectation.id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("cv_expectation.id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(String sql) {
            addCriterion("cv_expectation.id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(String sql) {
            addCriterion("cv_expectation.id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("cv_expectation.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("cv_expectation.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("cv_expectation.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("cv_expectation.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("cv_expectation.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("cv_expectation.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("cv_expectation.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("cv_expectation.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("cv_expectation.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("cv_expectation.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(String sql) {
            addCriterion("cv_expectation.create_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(String sql) {
            addCriterion("cv_expectation.create_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("cv_expectation.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("cv_expectation.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("cv_expectation.update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("cv_expectation.update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("cv_expectation.update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("cv_expectation.update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("cv_expectation.update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("cv_expectation.update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("cv_expectation.update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("cv_expectation.update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("cv_expectation.update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("cv_expectation.update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(String sql) {
            addCriterion("cv_expectation.update_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(String sql) {
            addCriterion("cv_expectation.update_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("cv_expectation.update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("cv_expectation.update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andCandidateidIsNull() {
            addCriterion("cv_expectation.candidateid is null");
            return (Criteria) this;
        }

        public Criteria andCandidateidIsNotNull() {
            addCriterion("cv_expectation.candidateid is not null");
            return (Criteria) this;
        }

        public Criteria andCandidateidEqualTo(Integer value) {
            addCriterion("cv_expectation.candidateid =", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotEqualTo(Integer value) {
            addCriterion("cv_expectation.candidateid <>", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidGreaterThan(Integer value) {
            addCriterion("cv_expectation.candidateid >", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.candidateid >=", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidLessThan(Integer value) {
            addCriterion("cv_expectation.candidateid <", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidLessThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.candidateid <=", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidIn(List<Integer> values) {
            addCriterion("cv_expectation.candidateid in", values, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotIn(List<Integer> values) {
            addCriterion("cv_expectation.candidateid not in", values, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidIn(String sql) {
            addCriterion("cv_expectation.candidateid in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotIn(String sql) {
            addCriterion("cv_expectation.candidateid not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCandidateidBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.candidateid between", value1, value2, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.candidateid not between", value1, value2, "candidateid");
            return (Criteria) this;
        }

        public Criteria andFlagIsNull() {
            addCriterion("cv_expectation.flag is null");
            return (Criteria) this;
        }

        public Criteria andFlagIsNotNull() {
            addCriterion("cv_expectation.flag is not null");
            return (Criteria) this;
        }

        public Criteria andFlagEqualTo(Integer value) {
            addCriterion("cv_expectation.flag =", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotEqualTo(Integer value) {
            addCriterion("cv_expectation.flag <>", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThan(Integer value) {
            addCriterion("cv_expectation.flag >", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.flag >=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThan(Integer value) {
            addCriterion("cv_expectation.flag <", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.flag <=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(List<Integer> values) {
            addCriterion("cv_expectation.flag in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(List<Integer> values) {
            addCriterion("cv_expectation.flag not in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(String sql) {
            addCriterion("cv_expectation.flag in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(String sql) {
            addCriterion("cv_expectation.flag not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.flag between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.flag not between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdIsNull() {
            addCriterion("cv_expectation.expectation_industry_id is null");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdIsNotNull() {
            addCriterion("cv_expectation.expectation_industry_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry_id =", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry_id <>", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_industry_id >", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry_id >=", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdLessThan(String value) {
            addCriterion("cv_expectation.expectation_industry_id <", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry_id <=", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdLike(String value) {
            addCriterion("cv_expectation.expectation_industry_id like", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdNotLike(String value) {
            addCriterion("cv_expectation.expectation_industry_id not like", value, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdIn(List<String> values) {
            addCriterion("cv_expectation.expectation_industry_id in", values, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_industry_id not in", values, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdIn(String sql) {
            addCriterion("cv_expectation.expectation_industry_id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdNotIn(String sql) {
            addCriterion("cv_expectation.expectation_industry_id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_industry_id between", value1, value2, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIdNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_industry_id not between", value1, value2, "expectationIndustryId");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIsNull() {
            addCriterion("cv_expectation.expectation_industry is null");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIsNotNull() {
            addCriterion("cv_expectation.expectation_industry is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry =", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry <>", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_industry >", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry >=", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryLessThan(String value) {
            addCriterion("cv_expectation.expectation_industry <", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_industry <=", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryLike(String value) {
            addCriterion("cv_expectation.expectation_industry like", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryNotLike(String value) {
            addCriterion("cv_expectation.expectation_industry not like", value, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIn(List<String> values) {
            addCriterion("cv_expectation.expectation_industry in", values, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_industry not in", values, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryIn(String sql) {
            addCriterion("cv_expectation.expectation_industry in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryNotIn(String sql) {
            addCriterion("cv_expectation.expectation_industry not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_industry between", value1, value2, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationIndustryNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_industry not between", value1, value2, "expectationIndustry");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdIsNull() {
            addCriterion("cv_expectation.expectation_function_id is null");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdIsNotNull() {
            addCriterion("cv_expectation.expectation_function_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function_id =", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function_id <>", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_function_id >", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function_id >=", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdLessThan(String value) {
            addCriterion("cv_expectation.expectation_function_id <", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function_id <=", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdLike(String value) {
            addCriterion("cv_expectation.expectation_function_id like", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdNotLike(String value) {
            addCriterion("cv_expectation.expectation_function_id not like", value, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdIn(List<String> values) {
            addCriterion("cv_expectation.expectation_function_id in", values, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_function_id not in", values, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdIn(String sql) {
            addCriterion("cv_expectation.expectation_function_id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdNotIn(String sql) {
            addCriterion("cv_expectation.expectation_function_id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_function_id between", value1, value2, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIdNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_function_id not between", value1, value2, "expectationFunctionId");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIsNull() {
            addCriterion("cv_expectation.expectation_function is null");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIsNotNull() {
            addCriterion("cv_expectation.expectation_function is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function =", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function <>", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_function >", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function >=", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionLessThan(String value) {
            addCriterion("cv_expectation.expectation_function <", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_function <=", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionLike(String value) {
            addCriterion("cv_expectation.expectation_function like", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionNotLike(String value) {
            addCriterion("cv_expectation.expectation_function not like", value, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIn(List<String> values) {
            addCriterion("cv_expectation.expectation_function in", values, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_function not in", values, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionIn(String sql) {
            addCriterion("cv_expectation.expectation_function in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionNotIn(String sql) {
            addCriterion("cv_expectation.expectation_function not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_function between", value1, value2, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationFunctionNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_function not between", value1, value2, "expectationFunction");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdIsNull() {
            addCriterion("cv_expectation.expectation_city_id is null");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdIsNotNull() {
            addCriterion("cv_expectation.expectation_city_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city_id =", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city_id <>", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_city_id >", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city_id >=", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdLessThan(String value) {
            addCriterion("cv_expectation.expectation_city_id <", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city_id <=", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdLike(String value) {
            addCriterion("cv_expectation.expectation_city_id like", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdNotLike(String value) {
            addCriterion("cv_expectation.expectation_city_id not like", value, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdIn(List<String> values) {
            addCriterion("cv_expectation.expectation_city_id in", values, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_city_id not in", values, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdIn(String sql) {
            addCriterion("cv_expectation.expectation_city_id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdNotIn(String sql) {
            addCriterion("cv_expectation.expectation_city_id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_city_id between", value1, value2, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIdNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_city_id not between", value1, value2, "expectationCityId");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIsNull() {
            addCriterion("cv_expectation.expectation_city is null");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIsNotNull() {
            addCriterion("cv_expectation.expectation_city is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationCityEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city =", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city <>", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_city >", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city >=", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityLessThan(String value) {
            addCriterion("cv_expectation.expectation_city <", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_city <=", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityLike(String value) {
            addCriterion("cv_expectation.expectation_city like", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityNotLike(String value) {
            addCriterion("cv_expectation.expectation_city not like", value, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIn(List<String> values) {
            addCriterion("cv_expectation.expectation_city in", values, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_city not in", values, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityIn(String sql) {
            addCriterion("cv_expectation.expectation_city in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCityNotIn(String sql) {
            addCriterion("cv_expectation.expectation_city not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCityBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_city between", value1, value2, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationCityNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_city not between", value1, value2, "expectationCity");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryIsNull() {
            addCriterion("cv_expectation.expectation_salary is null");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryIsNotNull() {
            addCriterion("cv_expectation.expectation_salary is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryEqualTo(Integer value) {
            addCriterion("cv_expectation.expectation_salary =", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryNotEqualTo(Integer value) {
            addCriterion("cv_expectation.expectation_salary <>", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryGreaterThan(Integer value) {
            addCriterion("cv_expectation.expectation_salary >", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.expectation_salary >=", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryLessThan(Integer value) {
            addCriterion("cv_expectation.expectation_salary <", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryLessThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.expectation_salary <=", value, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryIn(List<Integer> values) {
            addCriterion("cv_expectation.expectation_salary in", values, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryNotIn(List<Integer> values) {
            addCriterion("cv_expectation.expectation_salary not in", values, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryIn(String sql) {
            addCriterion("cv_expectation.expectation_salary in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryNotIn(String sql) {
            addCriterion("cv_expectation.expectation_salary not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.expectation_salary between", value1, value2, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationSalaryNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.expectation_salary not between", value1, value2, "expectationSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryIsNull() {
            addCriterion("cv_expectation.present_salary is null");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryIsNotNull() {
            addCriterion("cv_expectation.present_salary is not null");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryEqualTo(Integer value) {
            addCriterion("cv_expectation.present_salary =", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryNotEqualTo(Integer value) {
            addCriterion("cv_expectation.present_salary <>", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryGreaterThan(Integer value) {
            addCriterion("cv_expectation.present_salary >", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.present_salary >=", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryLessThan(Integer value) {
            addCriterion("cv_expectation.present_salary <", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryLessThanOrEqualTo(Integer value) {
            addCriterion("cv_expectation.present_salary <=", value, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryIn(List<Integer> values) {
            addCriterion("cv_expectation.present_salary in", values, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryNotIn(List<Integer> values) {
            addCriterion("cv_expectation.present_salary not in", values, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryIn(String sql) {
            addCriterion("cv_expectation.present_salary in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryNotIn(String sql) {
            addCriterion("cv_expectation.present_salary not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.present_salary between", value1, value2, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andPresentSalaryNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_expectation.present_salary not between", value1, value2, "presentSalary");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyIsNull() {
            addCriterion("cv_expectation.expectation_company is null");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyIsNotNull() {
            addCriterion("cv_expectation.expectation_company is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyEqualTo(String value) {
            addCriterion("cv_expectation.expectation_company =", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_company <>", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_company >", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_company >=", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyLessThan(String value) {
            addCriterion("cv_expectation.expectation_company <", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_company <=", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyLike(String value) {
            addCriterion("cv_expectation.expectation_company like", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyNotLike(String value) {
            addCriterion("cv_expectation.expectation_company not like", value, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyIn(List<String> values) {
            addCriterion("cv_expectation.expectation_company in", values, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_company not in", values, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyIn(String sql) {
            addCriterion("cv_expectation.expectation_company in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyNotIn(String sql) {
            addCriterion("cv_expectation.expectation_company not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_company between", value1, value2, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationCompanyNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_company not between", value1, value2, "expectationCompany");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleIsNull() {
            addCriterion("cv_expectation.expectation_title is null");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleIsNotNull() {
            addCriterion("cv_expectation.expectation_title is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleEqualTo(String value) {
            addCriterion("cv_expectation.expectation_title =", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_title <>", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_title >", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_title >=", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleLessThan(String value) {
            addCriterion("cv_expectation.expectation_title <", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_title <=", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleLike(String value) {
            addCriterion("cv_expectation.expectation_title like", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleNotLike(String value) {
            addCriterion("cv_expectation.expectation_title not like", value, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleIn(List<String> values) {
            addCriterion("cv_expectation.expectation_title in", values, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_title not in", values, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleIn(String sql) {
            addCriterion("cv_expectation.expectation_title in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleNotIn(String sql) {
            addCriterion("cv_expectation.expectation_title not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_title between", value1, value2, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationTitleNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_title not between", value1, value2, "expectationTitle");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoIsNull() {
            addCriterion("cv_expectation.expectation_info is null");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoIsNotNull() {
            addCriterion("cv_expectation.expectation_info is not null");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoEqualTo(String value) {
            addCriterion("cv_expectation.expectation_info =", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoNotEqualTo(String value) {
            addCriterion("cv_expectation.expectation_info <>", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoGreaterThan(String value) {
            addCriterion("cv_expectation.expectation_info >", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoGreaterThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_info >=", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoLessThan(String value) {
            addCriterion("cv_expectation.expectation_info <", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoLessThanOrEqualTo(String value) {
            addCriterion("cv_expectation.expectation_info <=", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoLike(String value) {
            addCriterion("cv_expectation.expectation_info like", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoNotLike(String value) {
            addCriterion("cv_expectation.expectation_info not like", value, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoIn(List<String> values) {
            addCriterion("cv_expectation.expectation_info in", values, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoNotIn(List<String> values) {
            addCriterion("cv_expectation.expectation_info not in", values, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoIn(String sql) {
            addCriterion("cv_expectation.expectation_info in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoNotIn(String sql) {
            addCriterion("cv_expectation.expectation_info not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_info between", value1, value2, "expectationInfo");
            return (Criteria) this;
        }

        public Criteria andExpectationInfoNotBetween(String value1, String value2) {
            addCriterion("cv_expectation.expectation_info not between", value1, value2, "expectationInfo");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}